Go, Google'da 2007 yılından itibaren geliştirilmeye başlayan açık kaynak programlama dilidir.1 İlk web sitesi golang.org alan adına sahip olduğundan golang ismiyle anılsa da doğru adı Go'dur.2 Daha çok sistem programlama için tasarlanmış olup, derlenmiş ve statik tipli bir dildir. Kasım 2009'da çıkmıştır. Go derleyicisi "gc", açık kaynak yazılım olarak, Linux, OS X, Windows, bazı BSD ve Unix versiyonları, ve ayrıca 2015'ten itibaren akıllı telefonlar için geliştirilmiştir.
Dil, Kasım 2009'da duyurulmuştur. Google'ın bazı ürünlerinin sistemlerinde olduğu gibi diğer firmalar tarafından da kullanılmaktadır.3
Go, Google mühendisleri Robert Griesemer, Rob Pike, ve Ken Thompson tarafından bir deney olarak ortaya çıkarılmış, diğer dillerin bilinen eleştirilerini çözecek ve olumlu özelliklerini koruyacak şekilde tasarlanmıştır. Yeni dil aşağıdaki özellikleri içermekteydi:4
Yapılan röportajlarda bu üç dil tasarımcısının yeni dili yapmalarındaki motivasyonun, C++'daki karmaşıklığı beğenmedikleri için geldiğini belirtmişlerdir.678
Go 1.0, Mart 2012'de yayınlanmıştır. En son Ağustos 2018'de Go 1.11 sürümü yayınlanmıştır.9
Go, C'nin bilinen özelliklerini taşımaktadır ancak yapılan değişiklikler dili basit, kısa ve güvenli hale getirmiştir. Aşağıda Go'yu kısaca tanımlayan özellikler yer almaktadır:
:* Değişken tanımındaki tür belirtimi isteğe bağlıdır. (int x = 0;
yerine x := 0;
).
:* Hızlı derleme süresi.11
:* Uzak paket yöneticisi (go get
)12 ve online paket
dökümantasyonu.13
:* Dahili eş zamanlılık ilkelleri: light-weight
process'lar (goroutines),
kanallar, ve select
ifadesi.
:* Varsayılan olarak statik olarak bağlanmış native binary'ler, ekstra bağımlılıklara ihtiyaç duyulmadan üretilir.
Go'nun söz dizimi, C'den yapılan değişiklikleri içerir, kodu kısa ve
okunabilir kılmayı amaçlar. Birleştirilmiş declaration ve başlatma
operatörü, programcılara i := 3
ya da s := "bazı kelimeler"
yazarak,
herhangi bir tür belirtimine ihtiyaç duyulmadan değişken tanımlamasını
sağlar. Noktalı virgüller hala ifadeleri sonlandırır fakat satır
sonlarında kullanılmasına gerek yoktur. Fonksiyonlar birden fazla
değerler döndürebilir (return result, err
).
Go ile Merhaba dünya programı
package main
import "fmt"
func main() {
fmt.Println("Merhaba dünya!")
}
Bu makale, Creative Commons Attribution 3.0 lisansına sahip resmi Go eğitselinden Let's Go alıntılar içermektedir.
Go Resmi Sitesi (İngilizce)
Go Türkiye Topluluğu (Türkçe)
Go Turu (Türkçe)
(İngilizce)
Mailing list / Newsgroup (İngilizce)
/r/golang - Reddit Sayfası (İngilizce)
Orijinal kaynak: go (programlama dili). Creative Commons Atıf-BenzerPaylaşım Lisansı ile paylaşılmıştır.
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page